<?xml version="1.0" encoding="UTF-8"?>
<html filename="docs/SAX/IAttributes.html">
<body>
<a id="#top"/>
<h1>
	                Interface Summary : IAttributes </h1> Interface for a list of XML attributes.

 <blockquote>
 <em>This module, both source code and documentation, is in the
 Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
 </blockquote>

 <p>This interface allows access to a list of attributes in
 three different ways:</p>

 <ol>
 <li>by attribute index;</li>
 <li>by Namespace-qualified name; or</li>
 <li>by qualified (prefixed) name.</li>
 </ol>

 <p>The list will not contain attributes that were declared
 #IMPLIED but not specified in the start tag.  It will also not
 contain attributes used as Namespace declarations (xmlns*) unless
 the <code>http://xml.org/sax/features/namespace-prefixes</code>
 feature is set to <var>true</var> (it is <var>false</var> by
 default).
 Because SAX2 conforms to the original &quot;Namespaces in XML&quot;
 recommendation, it normally does not
 give namespace declaration attributes a namespace URI.</p>

 <p>Some SAX2 parsers may support using an optional feature flag
 (<code>http://xml.org/sax/features/xmlns-uris</code>) to request that
 those attributes be given URIs, conforming to a later
 backwards-incompatible revision of that recommendation.
 (The attribute's &quot;local name&quot; will be the prefix, or the empty
 string when defining a default element namespace.)
 For portability, handler code should always resolve that conflict,
 rather than requiring parsers that can change the setting of that
 feature flag.</p>

 <p>If the namespace-prefixes feature (see above) is <var>false</var>,
 access by qualified name may not be available; if the
 <code>http://xml.org/sax/features/namespaces</code>
 feature is <var>false</var>, access by Namespace-qualified names
 may not be available.</p>

 <p>This interface replaces the now-deprecated SAX1 (<a href="../SAX/IAttributeList.html">IAttributeList</a>)
 interface, which does not contain Namespace support.
 In addition to Namespace support, it adds the <var>getIndex</var>
 methods (below).</p>

 <p>The order of attributes in the list is unspecified, and will
 vary from implementation to implementation.</p>

<br/><b>Since : </b> SAX 2.0
<br/><b>See : </b> <a href="../SAXExt/IDeclHandler.html#attributeDecl">IDeclHandler.attributeDecl</a>
<h2>
	              Methods
	            </h2>
<div style="padding-left:10px">
<a href="#getLength">
	                  function
	                 getLength() : Integer</a>
<br/>
<a href="#getURI">
	                  function
	                 getURI(Integer) : SAXString</a>
<br/>
<a href="#getLocalName">
	                  function
	                 getLocalName(Integer) : SAXString</a>
<br/>
<a href="#getQName">
	                  function
	                 getQName(Integer) : SAXString</a>
<br/>
<a href="#getType">
	                  function
	                 getType(Integer) : SAXString</a>
<br/>
<a href="#getType">
	                  function
	                 getType(SAXString, SAXString) : SAXString</a>
<br/>
<a href="#getType">
	                  function
	                 getType(SAXString) : SAXString</a>
<br/>
<a href="#getValue">
	                  function
	                 getValue(Integer) : SAXString</a>
<br/>
<a href="#getValue">
	                  function
	                 getValue(SAXString, SAXString) : SAXString</a>
<br/>
<a href="#getValue">
	                  function
	                 getValue(SAXString) : SAXString</a>
<br/>
<a href="#getIndex">
	                  function
	                 getIndex(SAXString, SAXString) : Integer</a>
<br/>
<a href="#getIndex">
	                  function
	                 getIndex(SAXString) : Integer</a>
<br/>
</div>
<br/>
<h2>
	                Properties
	              </h2>
<div style="padding-left:10px"/>
<br/>
<hr width="100%"/>
<a name="#getLength">
<p>
<b>function</b> getLength() : Integer; </p>
</a> Return the number of attributes in the list.

 <p>Once you know the number of attributes, you can iterate
 through the list.</p>

<br/><b>Result : </b> The number of attributes in the list.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getURI.Integer">IAttributes.getURI(Integer)</a>
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLocalName.Integer">IAttributes.getLocalName(Integer)</a>
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getQName.Integer">IAttributes.getQName(Integer)</a>
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getType.Integer">IAttributes.getType(Integer)</a>
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getValue.Integer">IAttributes.getValue(Integer)</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getURI">
<p>
<b>function</b> getURI( index : Integer) : SAXString; </p>
</a> Look up an attribute's Namespace URI by index.

<br/><b>Parameter : </b> index The attribute index (zero-based).
<br/><b>Result : </b> The Namespace URI, or the empty string if none
         is available or if the index is out of range.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLength">IAttributes.getLength</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getLocalName">
<p>
<b>function</b> getLocalName( index : Integer) : SAXString; </p>
</a> Look up an attribute's local name by index.

<br/><b>Parameter : </b> index The attribute index (zero-based).
<br/><b>Result : </b> The local name, or the empty string if Namespace
         processing is not being performed or if the
         index is out of range.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLength">IAttributes.getLength</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getQName">
<p>
<b>function</b> getQName( index : Integer) : SAXString; </p>
</a>  Look up an attribute's XML 1.0 qualified name by index.

 <br/><b>Parameter : </b> index The attribute index (zero-based).
 <br/><b>Result : </b> The XML 1.0 qualified name, or the empty string
          if none is available or if the index is out of
          range.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLength">IAttributes.getLength</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getType">
<p>
<b>function</b> getType( index : Integer) : SAXString; </p>
</a>  Look up an attribute's type by index.

  <p>The attribute type is one of the strings &quot;CDATA&quot;, &quot;ID&quot;,
  &quot;IDREF&quot;, &quot;IDREFS&quot;, &quot;NMTOKEN&quot;, &quot;NMTOKENS&quot;, &quot;ENTITY&quot;, &quot;ENTITIES&quot;,
  or &quot;NOTATION&quot; (always in upper case).</p>

  <p>If the parser has not read a declaration for the attribute,
  or if the parser does not report attribute types, then it must
  return the value &quot;CDATA&quot; as stated in the XML 1.0 Recommendation
  (clause 3.3.3, &quot;Attribute-Value Normalization&quot;).</p>

  <p>For an enumerated attribute that is not a notation, the
  parser will report the type as &quot;NMTOKEN&quot;.</p>

 <br/><b>Parameter : </b> index The attribute index (zero-based).
 <br/><b>Result : </b> The attribute's type as a string or an empty string if the
          index is out of range.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLength">IAttributes.getLength</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getType">
<p>
<b>function</b> getType(<b>const</b> uri : SAXString; <b>const</b> localName : SAXString) : SAXString; </p>
</a>  Look up an attribute's value by XML 1.0 qualified name.

  <p>See <a href="../SAX/IAttributes.html#getValue.Integer">getValue(Integer)</a> for a description
  of the possible values.</p>

 <br/><b>Parameter : </b> qName The XML 1.0 qualified name.
 <br/><b>Result : </b> The attribute value as a string, or an empty string if the
          attribute is not in the list or if qualified names
          are not available.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getType">
<p>
<b>function</b> getType(<b>const</b> qName : SAXString) : SAXString; </p>
</a>  Look up an attribute's type by XML 1.0 qualified name.

  <p>See <a href="../SAX/IAttributes.html#getType.Integer">getType(Integer)</a> for a description
  of the possible types.</p>

 <br/><b>Parameter : </b> qName The XML 1.0 qualified name.
 <br/><b>Result : </b> The attribute type as a string, or an empty string if the
          attribute is not in the list or if qualified names
          are not available.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getValue">
<p>
<b>function</b> getValue( index : Integer) : SAXString; </p>
</a>  Look up an attribute's value by index.

  <p>If the attribute value is a list of tokens (IDREFS,
  ENTITIES, or NMTOKENS), the tokens will be concatenated
  into a single string with each token separated by a
  single space.</p>

 <br/><b>Parameter : </b> index The attribute index (zero-based).
 <br/><b>Result : </b> The attribute's value as a string, or an empty string if the
          index is out of range.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLength">IAttributes.getLength</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getValue">
<p>
<b>function</b> getValue(<b>const</b> uri : SAXString; <b>const</b> localName : SAXString) : SAXString; </p>
</a>  Look up an attribute's type by Namespace name.

  <p>See <a href="../SAX/IAttributes.html#getType.Integer">getType(Integer)</a> for a description
  of the possible types.</p>

 <br/><b>Parameter : </b> uri The Namespace URI, or the empty String if the
         name has no Namespace URI.
 <br/><b>Parameter : </b> localName The local name of the attribute.
 <br/><b>Result : </b> The attribute type as a string, or an empty string if the
          attribute is not in the list or if Namespace
          processing is not being performed.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getValue">
<p>
<b>function</b> getValue(<b>const</b> qName : SAXString) : SAXString; </p>
</a>  Look up an attribute's value by Namespace name.

  <p>See <a href="../SAX/IAttributes.html#getValue.Integer">getValue(Integer)</a> for a description
  of the possible values.</p>

 <br/><b>Parameter : </b> uri The Namespace URI, or the empty String if the
         name has no Namespace URI.
 <br/><b>Parameter : </b> localName The local name of the attribute.
 <br/><b>Result : </b> The attribute value as a string, or an empty string if the
          attribute is not in the list.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getIndex">
<p>
<b>function</b> getIndex(<b>const</b> uri : SAXString; <b>const</b> localName : SAXString) : Integer; </p>
</a>  Look up the index of an attribute by Namespace name.

 <br/><b>Parameter : </b> uri The Namespace URI, or the empty string if
         the name has no Namespace URI.
 <br/><b>Parameter : </b> localName The attribute's local name.
 <br/><b>Result : </b> The index of the attribute, or -1 if it does not
          appear in the list.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getIndex">
<p>
<b>function</b> getIndex(<b>const</b> qName : SAXString) : Integer; </p>
</a>  Look up the index of an attribute by XML 1.0 qualified name.

 <br/><b>Parameter : </b> qName The qualified (prefixed) name.
 <br/><b>Result : </b> The index of the attribute, or -1 if it does not
          appear in the list.
<br/>
<p>
<a href="#top">Top</a>
</p>
<div style="padding-left:10px">
<hr width="100%"/>
<a name="#Length">
<p> <b>Length</b>
</p>
</a> Extension property to get the number of Attributes

<br/><b>Result : </b> The number of attributes in the list.
<br/><b>See : </b> <a href="../SAX/IAttributes.html#getLength">IAttributes.getLength</a>
<br/>
<p style="margin-left:30px">
<code>property Length : Integer
      read getLength</code>
</p>
<p>
<a href="#top">Top</a>
</p>
</div>
<br/>
</body>
</html>